"""

Matplotlib
    是一个 Python 的 2D绘图库。
    通过 Matplotlib，开发者可以仅需要几行代码，便可以生成绘图，直方图，功率谱，条形图，错误图，散点图等。
    官网https://matplotlib.org/


"""
import matplotlib
import matplotlib.pyplot as plt

print(matplotlib.matplotlib_fname())

# 直线
def drawLine():
    plt.plot([0, 2], [1, 4])
    plt.show()

# 折线
def drawLine2():
    x = [1, 2, 3, 4, 5]
    squares = [1, 14, 39, 16, 25]
    plt.plot(x, squares)
    plt.show()

# 设置标签文字和线条粗细
def drawLine3():
    datas = [1, 2, 3, 4, 5]
    squares = [1, 14, 39, 16, 25]
    plt.plot(datas, squares, linewidth=5)  # 设置线条宽度
    # 设置图标标题，并在坐标轴上添加标签
    plt.title('Numbers', fontsize=24)
    plt.xlabel('datas', fontsize=14)
    plt.ylabel('squares', fontsize=14)
    plt.show()

# 设置中文标题
def drawLine4():
    # 准备数据
    datas = [1, 2, 3, 4, 5]
    squares = [1, 14, 39, 16, 25]
    # 注意x和squares列表中元素个数要相同
    plt.plot(datas, squares, linewidth=5)  # 设置线条宽度
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
    # 添加标题
    plt.title('设置标题', fontsize=24)
    # x轴添加标签
    plt.xlabel('X轴', fontsize=14)
    # y轴添加标签
    plt.ylabel('Y轴', fontsize=14)
    # 显示图形
    plt.show()

def drawZhu():
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
    # 准备数据
    x = [2020, 2025, 2030, 2035]
    y = [12000, 30000, 10000, 50000]
    # 调用bar绘制条形图
    plt.bar(x, y, width=2)

    # 设置xlabel， ylabel
    plt.xlabel("年份")
    plt.ylabel("销量")
    # 添加标题
    plt.title("4年的销售量")
    # 调用xticks()
    x_ticks = [f'{i}年' for i in x]
    plt.xticks(x, x_ticks)
    plt.show()

drawLine()
drawLine2()
drawLine3()
drawLine4()
drawZhu()